package com.reebake.ideal.security.service.entity;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;

@Data
public class AuthMenuMetaVO {
    /**
     * 激活图标（菜单/tab）
     */
    private String activeIcon;
    /**
     * 当前激活的菜单，有时候不想激活现有菜单，需要激活父级菜单时使用
     */
    private String activePath;
    /**
     * 是否固定标签页
     * @default false
     */
    private Boolean affixTab = false;
    /**
     * 固定标签页的顺序
     * @default 0
     */
    private Integer affixTabOrder = 0;
    /**
     * 需要特定的角色标识才可以访问
     * @default []
     */
    private List<String> authority = new ArrayList<>();
    /**
     * 徽标
     */
    private String badge;
    /**
     * 徽标类型
     */
    private String badgeType;
    /**
     * 徽标颜色
     */
    private String badgeVariants;
    /**
     * 当前路由的子级在菜单中不展现
     * @default false
     */
    private Boolean hideChildrenInMenu;
    /**
     * 当前路由在面包屑中不展现
     * @default false
     */
    private Boolean hideInBreadcrumb = false;
    /**
     * 当前路由在菜单中不展现
     * @default false
     */
    private Boolean hideInMenu = false;
    /**
     * 当前路由在标签页不展现
     * @default false
     */
    private Boolean hideInTab = false;
    /**
     * 图标（菜单/tab）
     */
    private String icon;
    /**
     * iframe 地址
     */
    private String iframeSrc;
    /**
     * 忽略权限，直接可以访问
     * @default false
     */
    private Boolean ignoreAccess = false;
    /**
     * 开启KeepAlive缓存
     */
    private Boolean keepAlive;
    /**
     * 外链-跳转路径
     */
    private String link;
    /**
     * 标签页最大打开数量
     * @default -1
     */
    private Integer maxNumOfOpenTab = -1;
    /**
     * 菜单可以看到，但是访问会被重定向到403
     */
    private Boolean menuVisibleWithForbidden;
    /**
     * 在新窗口打开
     */
    private Boolean openInNewWindow = false;
    /**
     * 用于路由->菜单排序
     */
    private Integer order;
    /**
     * 菜单所携带的参数
     */
    private String query;
    /**
     * 标题名称
     */
    private String title;

    private Boolean noBasicLayout = false;
}
